哇終於來到 Google Drive 的 Part 啦~想之前剛出社會要把學校的免費空間還回去
就是用 Google Drive 的 GAS 來幫助我做紀錄、備份以及搬移等等的操作!
Google Drive 的自動化應用有大量建立和管裡文件夾、命名或移動文件、設置文件權限等等
今天先教教大家基本對 google drive 中的檔案/資料夾基本的操作 - 建立/讀取/更新/刪除
DriveApp.createFile(): 創建新文件// 建立(Create)文件
function createFile() {
  var name = "新文件.txt";
  var content = "我是一個新的文件檔案!";
  var file = DriveApp.createFile(name, content);
  Logger.log('新建立的文件ID: ' + file.getId());
}
DriveApp.createFolder(): 創建新文件夾// 建立(Create)資料夾
function createFolder() {
  var folderName = "新資料夾";
  var folder = DriveApp.createFolder(folderName);
  Logger.log('新建立的文件夾ID: ' + folder.getId());
}
DriveApp.getFileById(): 通過 ID 獲取文件// 讀取(Read)文件
function readFile() {
  var fileId = "YOUR_FILE_ID"; // 替換為實際的文件ID
  var file = DriveApp.getFileById(fileId);
  var content = file.getBlob().getDataAsString();
  Logger.log('文件內容: ' + content);
}
DriveApp.getFolderById(): 通過 ID 獲取文件夾DriveApp.getFiles(): 獲取所有文件DriveApp.getFolders(): 獲取所有文件夾// 讀取(Read)文件夾內容
function readAllFilesInFolder() {
  var folderId = "YOUR_FOLDER_ID"; // 請替換成實際的資料夾ID
  var folder = DriveApp.getFolderById(folderId);
  
  // 讀取檔案
  var files = folder.getFiles();
  while (files.hasNext()) {
    var file = files.next();
    Logger.log('檔案名稱: ' + file.getName());
  }
  
  // 讀取子資料夾
  var subFolders = folder.getFolders();
  while (subFolders.hasNext()) {
    var subFolder = subFolders.next();
    Logger.log('子資料夾名稱: ' + subFolder.getName());
  }
}
File.setName(): 重命名文件// 重新命名檔案
function renameFile() {
  var fileId = "YOUR_FILE_ID"; // 請替換成實際的檔案ID
  var newFileName = "新檔案名稱.txt";
  
  try {
    var file = DriveApp.getFileById(fileId);
    file.setName(newFileName);
    Logger.log('檔案已成功重新命名為: ' + newFileName);
  } catch (e) {
    Logger.log('重新命名檔案時發生錯誤: ' + e.toString());
  }
}
File.moveTo(): 移動文件到新位置// 移動檔案到新位置
function moveFile() {
  var fileId = "YOUR_FILE_ID"; // 請替換成實際的檔案ID
  var destinationFolderId = "DESTINATION_FOLDER_ID"; // 請替換成目標資料夾ID
  
  try {
    var file = DriveApp.getFileById(fileId);
    var destinationFolder = DriveApp.getFolderById(destinationFolderId);
    
    // 移動檔案到新資料夾
    file.moveTo(destinationFolder);
    
    Logger.log('檔案已成功移動到新資料夾: ' + destinationFolder.getName());
  } catch (e) {
    Logger.log('移動檔案時發生錯誤: ' + e.toString());
  }
}
folder.setName(): 重新命名資料夾// 更新(Update)資料夾名稱
function updateFolder() {
  var folderId = "YOUR_FOLDER_ID"; // 替換為實際的資料夾ID
  var folder = DriveApp.getFolderById(folderId);
  folder.setName("更新後的資料夾名稱");
  Logger.log('資料夾名稱已更新');
}
File.setTrashed(true): 將文件移至垃圾桶// 刪除(Delete)文件
function deleteFile() {
  var fileId = "YOUR_FILE_ID"; // 替換為實際的文件ID
  var file = DriveApp.getFileById(fileId);
  file.setTrashed(true);
  Logger.log('文件已移至垃圾桶');
}
Folder.removeFile(): 從文件夾中移除文件// 刪除(Delete)文件夾
function deleteFolder() {
  var folderId = "YOUR_FOLDER_ID"; // 替換為實際的文件夾ID
  var folder = DriveApp.getFolderById(folderId);
  folder.setTrashed(true);
  Logger.log('文件夾已移至垃圾桶');
}
學會基本操作後,我們就來進入下一天 - 學會用 GAS 做 google drive 的權限管理吧!